#include <functional>
#include <iostream>
/**
 * @brief 练习函数对象的使用，其可以看做是函数界别的多态
 *        无论函数名称是什么，只要函数有相同的参数和返回值，那么就都可以传递到这个std::function指针
 */
double doub(double aValue) {return 2 * aValue;}

int main_function()
{
    using namespace std;
    std::function<double(double)> f1 = doub;
    double result = f1(20.20);
    cout << "Calculate result: " << result << endl;
    return 0;
}
